home *** CD-ROM | disk | FTP | other *** search
/ Network Support Library / RoseWare - Network Support Library.iso / apidev / ipxedt.txt < prev    next >
Text File  |  1991-01-25  |  7KB  |  203 lines

  1. Playing with IPX
  2.  
  3. Not without limits is Novell's SHGEN utility.  When creating an
  4. IPX shell for your workstations you may need to use options that
  5. do not exist.  The lack of the ability to "create" your own options
  6. is a limitation of IPX that has been with us for many years.
  7. Surprisingly SHGEN, does not offer a means to create your own
  8. options.  In the following short article I will offer one method of
  9. creating your own options.
  10.  
  11. The method I have happened upon involves modifying one of the existing
  12. option settings.  Now, these modifications involve the use of DEBUG
  13. or other similar editor.  For this example, DEBUG will be used.
  14.  
  15. First, generate an IPX shell (IPX.COM) for your chosen network card.
  16. Second, the parameter table needs to be located.  This table includes
  17. the Interrupt setting (IRQ), I/O address, RAM address, and DMA channel.
  18. No network card uses all these options at once, so only a maximum of
  19. three of them will need to be altered.  Now, to locate the table the
  20. pattern to search for needs to be ascertained:
  21.  
  22. Run IPX with the I option, for instance:
  23.  
  24. D:\> ipx i
  25. Novell IPX/SPX V2.12
  26. (C) Copyright 1985, 1988 Novell Inc.  All Rights Reserved.
  27.  
  28. LAN Option: Thomas-Conrad Corp. ARC-CARD Accel. V2.20B1 (891022)
  29. Hardware Configuration: IRQ =  2, Memory Base at D000:0 (IRQ 9)
  30.  
  31. -or-
  32.  
  33. E:\> ipx i
  34. Novell IPX/SPX V2.12
  35. (C) Copyright 1985, 1988 Novell Inc.  All Rights Reserved.
  36.  
  37. LAN Option: 3Com 3C503 EtherLink II  V2.30EC (880518)
  38. Hardware Configuration: I/O = 300h, INT = 3, DMA = 1, BNC
  39.  
  40.  
  41. Note the five characters following the line:
  42. "Hardware Configuration: "
  43.  
  44. In the first "ipx i" the five characters are "IRQ =" and in the
  45. second, "I/O =".
  46.  
  47. This five character pattern will be the basis for finding the
  48. option descriptions within IPX.COM.
  49.  
  50. At this point use of DEBUG is needed:
  51.  
  52. DEBUG IPX.COM
  53.  
  54. at the - prompt, type:
  55. -scs:100 ffff 'IRQ =' <enter>  {substitute for your pattern}
  56.  
  57. you will receive a list of addresses, note the first one, it will be
  58. something like:
  59.  
  60. 519B:29C0
  61.  
  62. the first part, 519B, is the segment, it can ignored for purposes
  63. of modifying IPX, the second part, 29C0, is the offset, this will be
  64. used for finding a table position to edit
  65.  
  66. at the next - prompt, type:
  67. -dcs:29C0 <enter>
  68.  
  69. (NOTE: Be sure to substitute your number for the 29C0 offset
  70. used here)
  71.  
  72. You should see something similar to:
  73.  
  74. 519B:29C0                                         49 52 51                IRQ
  75. 519B:29D0  20 3D 20 20 32 2C 20 4D-65 6D 6F 72 79 20 42 61    =  2, Memory Ba
  76. 519B:29E0  73 65 20 61 74 20 44 30-30 30 3A 30 20 28 49 52   se at D000:0 (IR
  77. 519B:29F0  51 20 39 29 00 00 00 00-00 00 00 00 00 00 00 D0   Q 9)............
  78. 519B:2A00  00 02 00 00 00 00 00 FF-03 00 00 00 00 00 00 02   ................
  79. 519B:2A10  00 49 52 51 20 3D 20 20-33 2C 20 4D 65 6D 6F 72   .IRQ =  3, Memor
  80. 519B:2A20  79 20 42 61 73 65 20 61-74 20 44 30 30 30 3A 30   y Base at D000:0
  81. ...(listing should continue for a few more lines)
  82.  
  83. In this listing are descriptions for two of the available IPX options.
  84. The second option will be the one edited, though the pattern used to
  85. edit the description will be viable for any of the options.
  86.  
  87. Note that the second description indicates IRQ=3 and Memory Address D000:0.
  88. Say that an option is needed for IRQ=6 and Memory Address DC00:0, here are
  89. the commands to incorporate these changes:
  90.  
  91. the line above "IRQ =  3" begins:
  92. 00 02 00
  93.  
  94. in the middle of the line find FF-03, the - is just for formatting
  95. of the output, the 03 is the IRQ number for this option; note how the
  96. actual option code is found before the textual description of the
  97. option
  98.  
  99. to edit the 03 to 06:
  100.  
  101. (once again, at the - prompt)
  102. -e 2A07 <enter>
  103. 519B:2A07  03.<you type>06<enter>
  104.  
  105. next, redo the display command to see that the change has
  106. taken place:
  107.  
  108. -dcs:29C0 <enter>
  109.  
  110. 519B:29C0                                         49 52 51                IRQ
  111. 519B:29D0  20 3D 20 20 32 2C 20 4D-65 6D 6F 72 79 20 42 61    =  2, Memory Ba
  112. 519B:29E0  73 65 20 61 74 20 44 30-30 30 3A 30 20 28 49 52   se at D000:0 (IR
  113. 519B:29F0  51 20 39 29 00 00 00 00-00 00 00 00 00 00 00 D0   Q 9)............
  114. 519B:2A00  00 02 00 00 00 00 00 FF-06 00 00 00 00 00 00 02   ................
  115. 519B:2A10  00 49 52 51 20 3D 20 20-33 2C 20 4D 65 6D 6F 72   .IRQ =  3, Memor
  116. 519B:2A20  79 20 42 61 73 65 20 61-74 20 44 30 30 30 3A 30   y Base at D000:0
  117.  
  118. Next, edit the Memory Address from D000:0 to DC00:0:
  119.  
  120. -e 29F0 <enter>
  121. 519B:29F0  D0.<you type>DC<enter>
  122.  
  123. At this point the actual settings of this option are IRQ=6 and
  124. Memory Address=DC00:0 but the textual description is still
  125. indicating IRQ=3 and Memory Address D000:0
  126.  
  127. Optionally, to change this indication:
  128. -f 2A10 L1F 'IRQ =  6, Memory Base at D000:0' <enter>
  129.  
  130. The "L1F" is a length directive indicating a length of 1F which is
  131. hexadecimal for 31, which is the length the characters between the
  132. 's; This length figure is something which must be calculated
  133. correctly and the editing of the textual description is not
  134. necessary to engage the actual operational changes in IPX, so,
  135. you may opt to not change the description
  136.  
  137.  
  138. If the network card uses DMA then it will be noted just after
  139. the IRQ used.  The following example shows IRQ=3 and DMA=1:
  140.  
  141. 6129:29E0  45 43 20 28 38 38 30 35-31 38 29 00 24 00 03 10   EC (880518).$...
  142. 6129:29F0  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 FF   ................
  143. 6129:2A00  03 00 00 FF 01 00 00 00-00 49 2F 4F 20 3D 20 33   .........I/O = 3
  144. 6129:2A10  30 30 68 2C 20 49 4E 54-20 3D 20 33 2C 20 44 4D   00h, INT = 3, DM
  145. 6129:2A20  41 20 3D 20 31 2C 20 42-4E 43 00 10 03 10 00 00   A = 1, BNC......
  146.  
  147.  
  148. The end of the second line begins the IRQ indicator (FF).
  149. The next line indicates the IRQ used (03).  Three bytes later
  150. there is a FF 01, this indicates DMA=1.  By altering the second
  151. byte (01) the DMA channel can be changed.
  152.  
  153. This option also uses an I/O address of 300h.  At the end of
  154. the above's first line are the bytes 00 03 10.  The first two
  155. bytes are the I/O address in low-high order (00 03).  By altering
  156. these two bytes the I/O address can be changed.  To change it to
  157. 350h for instance, the correct order would be (50 03).
  158.  
  159. To make the changes final, use the W command at the next - prompt:
  160. -w <enter>
  161.  
  162. To exit DEBUG use the Q command.
  163.  
  164.  
  165. SUMMING IT UP:
  166.  
  167. Begin your search of IPX's option description table by using
  168. IPX's I option (i.e., "IPX I").
  169.  
  170. Ascertain the pattern to search for by finding the first
  171. five bytes after the label "Hardware Configuration: ".
  172.  
  173. Search for the first instance of this pattern within IPX.
  174.  
  175. Choose an option to edit.
  176.  
  177. Find/Edit the DMA channel located 5 bytes before the pattern
  178. found.
  179.  
  180. Find/Edit the IRQ located 9 bytes before the pattern found.
  181.  
  182. Find/Edit the Memory Address located 18 bytes before the
  183. pattern found.
  184.  
  185. Find/Edit the I/O Address located 28 bytes before the pattern
  186. found.
  187.  
  188. Write the changes and exit DEBUG
  189.  
  190. Note that the number of bytes before the pattern found may
  191. be different in future releases of NetWare or in early releases
  192. (pre v2.1) of NetWare.
  193.  
  194. If you have any questions about these procedures, please
  195. contact me on CompuServe @ 70007,3430 or on the Internet
  196. at 70007.3430@compuserve.com.
  197.  
  198. -By John T. McCann, author of the NetWare Supervisor's Guide
  199. -Special thanks to Bart Mellink of Cyco Automation
  200.  
  201. 10/3/90
  202.  
  203. 1300 wds